$(function(){
    /**
     * 初始化
     */
    function init(){
        bindEvent();
    }

    /**
     * 事件绑定
     */
    function bindEvent(){
    	/**
	     * 右边栏内部导航效果
	     * */
	    $(".inner-section > .nav li a").click(function(){
	        if($(this).parent().hasClass("selected")){
	            return false;
	        }
	        $(this).parents(".inner-section").find("ul li").removeClass("selected");
	        $(this).parent().addClass("selected");
	
	        var id = $(this).attr("flag");//获取显示区域标签id值
	        $(".inner-section .items").find(".item").hide();
	        $(".inner-section .items").find(id).show();
	
	        return false;
	    });
	    
	  //清空老粉丝
        $("#emptyOldFans").click(function(){
        	myConfirmModal("确认清空吗？粉丝信息为系统基础数据，一般只会在首次部署时执行此操作。",function(){
        		$.ajax({
					type:"post",
                    url:"emptyFans",
                    beforeSend:function(xhr){
                        //显示“加载中。。。”
                        $("#loading").modal('show');
                    },
                    data:{},
                    dataType:"json",
                    success:function(json,jsonText){
                    	if(json.errorCode == 0){
                    		responseTip(0,"恭喜您，操作成功！");
                    	}else{
                    		responseTip(1,json.errorInfo);
                    	}
                    	 
                    },
                    complete:function(){
                        //隐藏“加载中。。。”
                        $("#loading").modal('hide');
                    },
                    error:errorResponse
        		});    
        	});
        });
	    
        //导入老粉丝
        $("#importOldFans").click(function(){
            $.ajax(
                {
                    type:"post",
                    url:"groupFans",
                    beforeSend:function(xhr){
                        //显示“加载中。。。”
                        $("#loading").modal('show');
                    },
                    data:{},
                    dataType:"json",
                    success:function(json,jsonText){
                        if(json.errorCode == 0){
                            var groupCount = json.data;//分组数量
                        	for(var i = 1; i <= groupCount;i++){//批量导入老粉丝
                        		$.ajax(
				                {
				                    type:"post",
				                    url:"asynGroupFans",
				                    data:{"batch":i,"groupCount":groupCount},
				                    dataType:"json",
				                    success:function(json,jsonText){
				                    	if(json.errorCode == 0){
				                    		//某一次的导入完成  不提醒，避免骚扰用户
				                    	}else if(json.errorCode == 1){
				                    		responseTip(1,json.errorInfo);
								        }else if(json.errorCode == 3){//每次导入成功，不提示，避免干扰用户
								        	responseTip(0,"导入完成！");
								        }
				                    },
				                    error:errorResponse
				                    
				                });
                        	}
                        }else{
                        	responseTip(1,json.errorInfo);
                        }
                    },
                    complete:function(){
                        //隐藏“加载中。。。”
                        $("#loading").modal('hide');
                    },
                    error:errorResponse
                }
            );
        });

        //更正图片路径（复文本框内的图片路径）
        $("#correctImagePath").click(function(){
            $.ajax(
                {
                    type:"post",
                    url:"correctImagePath",
                    beforeSend:function(xhr){
                        //显示“加载中。。。”
                        $("#loading").modal('show');
                    },
                    data:{},
                    dataType:"json",
                    success:function(json,jsonText){
                        if(json.errorCode == 0){
                            $("#myModal .modal-body").html("<p class='text-success'><b>恭喜您，操作成功！</b></p>");
                            $("#myModal").modal('show');
                            //定时器，1.5秒后模态框自动关闭
                            setTimeout(function(){
                                $("#myModal").modal('hide');
                            },1000);
                        }else{
                            //alert("添加失败，请稍后再试！");
                            $("#myModal .modal-body").html("<p class='text-danger'>"+json.errorInfo+"</p>");
                            $("#myModal").modal('show');
                            //定时器，1.5秒后模态框自动关闭
                            setTimeout(function(){
                                $("#myModal").modal('hide');
                            },1000);
                        }
                    },
                    complete:function(){
                        //隐藏“加载中。。。”
                        $("#loading").modal('hide');
                    },
                    error:errorResponse
                }
            );
        });
    }

    init();
});

//自定义确认对话框，返回true或false,确认或取消操作
function myConfirmModal(alertInfo,callback){//参数，当前操作提示文本
    if(alertInfo == undefined || alertInfo == ""){
        alertInfo = "确认当前操作吗？";
    }
    $("#myConfirmModal .modal-body").html("<p class='text-danger'>"+alertInfo+"</p>");
    $("#myConfirmModal").modal('show');//对话框显现

    //确认对话框--确认操作
    $("#myConfirmModal .btn-confirm").one('click',function(){
        $("#myConfirmModal").modal('hide');//对话框显现
        callback();//调用回调函数
    });
}
//此事件在模态框被隐藏（并且同时在 CSS 过渡效果完成）之后被触发。
$('#myConfirmModal').on('hidden.bs.modal', function (e) {
    // do something...
    $("#myConfirmModal .btn-confirm").off("click");
})
//提交用户表单时的校验规则
function formValidation(arr, $form, options) {
    // 如果JQuery.Validate检测不通过则返回false
    if(!$form.valid()){
        return false;
    }
    for(var i=0;i<arr.length;i++){
        //去除前后空格
        if(arr[i].type !='file'){
            arr[i].value=$.trim(arr[i].value);
        }
    }
}
//提交表单时的配置
var formOptions = {
    beforeSubmit : formValidation,
    type : 'post',
    dataType : 'json',
    clearForm : false, // clear all form fields after successful submit
    resetForm : false
};
/**
 * 提交系统配置信息的表单配置
 */
var options={
    url:'?c=systemConfig&a=setConfig',
    success:successResponse,
    beforeSend:function(xhr){
        //显示“加载中。。。”
        $("#loading").modal('show');
    },
    complete:function(){
        //隐藏“加载中。。。”
        $("#loading").modal('hide');
    },
    error:errorResponse
};
/**
 * 添加息得到服务器响应的回调方法
 */
function successResponse(json,statusText){
    responseTip(json.errorCode,json.errorInfo,2000);
}
/**
 *请求添加失败时（如网络不通畅、超时等）的回调方法
 */
function errorResponse(XMLHttpRequest,textStatus,errorThrown){
    responseTip(1,"网络异常，请求失败！",2000);
}

/**
 * 响应提示弹出框
 * @errorCode:0 为正确提示，1为错误提示
 * @time 弹框显现时长 毫秒
 * @callback 回调函数
 */
function responseTip(errorCode,text,time,callback){
    if(errorCode == 0){
        if(text == ""){
            text = "恭喜您，操作成功！";
        }
        $("#myModal .modal-body").html("<p class='text-success'>"+text+"</p>");
    }else if(errorCode == 1){
        if(text == ""){
            text = "操作异常！";
        }
        $("#myModal .modal-body").html("<p class='text-danger'>"+text+"</p>");
    }
    if(!time){
        time = 3000;//默认3秒
    }
    $("#myModal").modal('show');
    //定时器，1.5秒后模态框自动关闭
    setTimeout(function(){
        $("#myModal").modal('hide');
        if(callback){//如果传了回调函数，则调用
            callback();
        }
    },time);
}

/**
 * 利用bootpag插件完成
 * 分页查询方法
 * @param selector 分页页码所在选择器内
 * @param option 插件自定义配置选择
 * @param callback 翻页事件回调函数
 */
//初始化配置
var pageOption = {
    total:1,//总页数
    page:1, //当前显示页
    pageSize:10, //每页显示的记录数
    maxVisible:10//每页最多显示的页码链接
};//分页配置项
var selectInfo = {};//模糊查询配置参数
function pagination(selector,option,callback){
    $.extend(true,pageOption,option);
    $(selector).bootpag(pageOption).on("page", function(event, pageIndex){//当前页
        //动态加载渲染数据
        callback(true,pageIndex,pageOption.pageSize);
    });
}
//字符串去除首发空格
String.prototype.trim=function(){
    return this.replace(/(^\s*)|(\s*$)/g,"");
};
//组合去除重复项
Array.prototype.unique = function(){
    var result = [], hash = {};
    for (var i = 0, elem; (elem = this[i]) != null; i++) {
        if (!hash[elem]) {
            result.push(elem);
            hash[elem] = true;
        }
    }
    return result;
}


$(function() {
    $(window).scroll(function(){
        if($(window).scrollTop() > 200){
            $(".up-nav").show();
        }else{
            $(".up-nav").hide();
        }
    });

    $(".back-bar .back-top,.up-nav .up-icon").click(function(){
        $('html,body').animate({'scrollTop':0},500); //返回顶部动画 数值越小时间越短
    });
})
